package com.starleague.battletech.hexagonal;

import com.starleague.battletech.game.IBattletechGame;
import com.starleague.hexagonal.HexException;
import com.starleague.hexagonal.IHexCoordinate;

public interface IBattletechHexGridFactory
{
    IBattletechHexGrid createHexGrid(IBattletechGame game,
                                     int minGridX,
                                     int minGridY,
                                     int numHexesX,
                                     int numHexesY) throws HexException;

    IBattletechHex createHex(IBattletechHexGrid hexGrid,
                             IHexCoordinate hexCoordinate,
                             int elevation) throws HexException;

    IBattletechHexTerrain createHexTerrain(IBattletechHex hex,
                                           BattletechHexTerrainType hexTerrainType,
                                           int level) throws HexException;
}
